package com.ruoyi.app.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.web.domain.BaseEntity;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 用于记录软件、文档等版本相关信息的对象 sys_version
 * 
 * @author ruoyi
 * @date 2025-04-13
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_version")
public class SysVersion extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 版本号，作为版本的唯一标识 */
    @Excel(name = "版本号")
    @TableField("VERSION_NUMBER")
    private String versionNumber;

    /** 安卓版本下载地址 */
    @Excel(name = "安卓包地址")
    @TableField("ANDROID_URL")
    private String androidUrl;

    /** 版本发布的具体日期 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "发布日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @TableField("RELEASE_DATE")
    private Date releaseDate;

    /** 该版本中主要新增或改进的功能描述 */
    @Excel(name = "主要更新内容")
    @TableField("MAIN_FEATURE_UPDATES")
    private String mainFeatureUpdates;

    /** 此版本修复的各类问题说明 */
    @Excel(name = "修复问题")
    @TableField("FIXED_ISSUES")
    private String fixedIssues;

    /** 该版本所适用的平台，如操作系统等 */
    @Excel(name = "适用平台")
    @TableField("APPLICABLE_PLATFORMS")
    private String applicablePlatforms;

}
